//
//  Status.swift
//  ydy_weibo
//
//  Created by 杨德勇 on 16/7/18.
//  Copyright © 2016年 杨德勇. All rights reserved.
//

import UIKit

class Status: NSObject {
    //微博创建时间
    var creat_at :String?
    //微博id
    var id : Int?
    //微博信息内容
    var text :String?
    //微博来源
    var source : String?
    //微博作者（user）属性
    var user : User?
    //配图视图数组
    var pic_urls:[[String : String]]?
    //配图数组转换成url
    var imageURLs: [NSURL]? {
        guard let urls = pic_urls else{
            return nil
        }
        var tempArray  = [NSURL]()
        for item in urls {
            //把字典取出然后把字典内容转化成为URL
            let url = NSURL(string: item["thumbnail_pic"]!)
            //这里有风险，如果按着这个key取出来不是string程序会崩
            tempArray.append(url!)
            
        }
        return tempArray
    }
    //被转发微博的原创微博字段
    var retweeted_status:Status?
    
    //代表原创微博或者转发微博的图片数组
    var pictureURLs : [NSURL]? {
        if retweeted_status != nil{
            return retweeted_status!.imageURLs
        }
        return imageURLs
    }
    
    
    
    
    //MARK:-
    //MARK:kvc
    init(dict:[String:AnyObject]){
        super.init()
        setValuesForKeysWithDictionary(dict)
    }
    
    override func setValue(value: AnyObject?, forKey key: String) {
        //key里面装的是一个对象，需要自己把字典丢进去
        if key == "user"{
            if let dict = value as? [String : AnyObject]{
                self.user = User(dict:dict)
            }
            return
        }
        
        //同理，被转发模型里面的也是对象
        if key == "retweeted_status" {
            if let dict = value as? [String:AnyObject]{
                retweeted_status = Status(dict:dict)
            }
            return
        }
        
        
        super.setValue(value, forKey: key)
    }
    override func setValue(value: AnyObject?, forUndefinedKey key: String) {
        
    }
}
